package com.koron.auth.service;

import com.koron.bean.base.Response;
import com.koron.bean.system.staff.dto.OutStaffBean;
import com.koron.bean.system.staff.vo.EamUser;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public interface AuthService {

    Response login(String account);

    void ssoLoginRedirect(String ticket, HttpServletRequest request, HttpServletResponse response) throws IOException;
    void zsjSsoLoginRedirect(String ticket, HttpServletRequest request, HttpServletResponse response) throws IOException;

    void iamSsoLoginRedirect(String code, HttpServletRequest request, HttpServletResponse response) throws IOException;

    Response<Object> outStafflogin(OutStaffBean outStaffBean);

    Response getSsoLoginUserInfo(String ticket, String account, HttpServletRequest request, HttpServletResponse response) throws IOException;

    Response<EamUser> miniProgramLogin(String code, HttpServletRequest request, HttpServletResponse response);

    void oaLoginRedirect(String rsaStr, HttpServletRequest request, HttpServletResponse response);

    Response getOaLoginUserInfo(String rsaStr, HttpServletRequest request, HttpServletResponse response) throws IOException;

    void qywxMessageLogin(String redirectUrl, String code, HttpServletRequest request, HttpServletResponse response);

    Response<EamUser> oAuth2Login(String code, HttpServletRequest request, HttpServletResponse response);
    void decrypt(String encryption, String account, HttpServletResponse response) throws IOException ;
}
